﻿namespace FlexPlatform.Shared.DataModel
{
    using System.Linq.Expressions;
    using System;

    using System.Collections.Generic;

    /// <summary>
    /// Exposes the interface for managing a list of properties as Lambda expressions.
    /// </summary>
    public interface IPropertyEnumeration<T> where T : IDataEntity
    {
        bool ContainsField(string fieldName);
        void AddField(Expression<Func<T, dynamic>> property);
        IEnumerable<LambdaExpression> Fields { get; }
    }
}
